#include <iostream>

/**
 * C++ 类的静态成员
 *
 * 我们可以使用 static 关键字来把类成员定义为静态的。当我们声明类的成员为静态时，这意味着无论创建多少个类的对象，静态成员都只有一个副本。
 */

class Box{
private:
    double length;
    double breadth;
    double height;
public:
    static int objectCount;
    //构造函数
    Box(double l = 2.0,double b = 2.0,double h = 2.0){
        length = l;
        breadth = b;
        height = h;
        //每次创建对象时 +1
        objectCount ++;
    }

    double Volume(){
        return length * breadth * height;
    }
};


//初始化类Box的静态成员
int Box::objectCount = 0;

int main() {
    Box box1(3.3,1.2,1.6);
    Box box2(8.5,6.0,2.0);

    //删除对象的总数
    std::cout << "Total objects : " << Box::objectCount << std::endl;
    return 0;
}
